package com.grademaster.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.grademaster.common.R;
import com.grademaster.dto.CoursePageDto;
import com.grademaster.dto.CourseTeacherPageDto;
import com.grademaster.entity.Courses;
import org.springframework.http.ResponseEntity;

/**
* @author Administrator
* @description 针对表【courses(课程表)】的数据库操作Service
* @createDate 2024-06-25 13:57:00
*/
public interface CoursesService extends IService<Courses> {
    /**
     * 获取分页课程数据
     * @return
     */
    R getCoursesPage(CoursePageDto coursePageDto);

    /**
     * 获取教师课程数据
     * @return
     */
    R getCoursesListByTeacher();

    /**
     * 获取学生课程数据
     * @return
     */
    R getCoursesListByStudent();

    /**
     * 获取教师课程分页数据
     * @param courseTeacherPageDto
     * @return
     */
    R getpageCourseTeacher(CourseTeacherPageDto courseTeacherPageDto);

    /**
     * 添加或编辑课程
     * @param courses
     * @return
     */
    R addOrEditCourse(Courses courses);

    /**
     * 删除课程
     * @param courseId
     * @return
     */
    R deleteCourse(String courseId);

    /**
     * 导出课程数据
     * @param coursePageDto
     * @return
     */
    ResponseEntity exportExcel(CoursePageDto coursePageDto);

    /**
     * 生成成绩
     * @param courseTeacherPageDto
     * @return
     */
    R generateScore(CourseTeacherPageDto courseTeacherPageDto);

    /**
     * 导出成绩2
     * @param courseTeacherPageDto
     * @return
     */
    ResponseEntity exportExcel2(CourseTeacherPageDto courseTeacherPageDto);
}
